#include "Shm.hpp"
#include "namedPipe.hpp"

// int main()
// {
//     key_t key = GetComKey(gpathname,gproj_id);
//     std::cout << "key: " << ToHex(key) << std::endl;
//     return 0;
// }

// int main()
// {
//     // 1.获取共享内存
//     Shm shm(gpathname,gproj_id,gUser);
//     // 2.清理内存数据
//     shm.Zero();
//     // 3.写数据
//     char* shmaddr = (char*)shm.Addr(); // 获取地址

//     char ch = 'A';
//     while(ch <= 'Z')
//     {
//         shmaddr[ch - 'A'] = ch;
//         sleep(2); // 两秒写一次数据
//         ch++;
//     }
//     return 0;
// }


// int main()
// {
//     // 1.获取共享内存
//     Shm shm(gpathname,gproj_id,gUser);
//     // 2.清理内存数据
//     shm.Zero();
//     // 3.创建管道
//     NamePiped fifo(comm_path,User);
//     fifo.OpenForWrite();

//     // 4.写数据
//     char* shmaddr = (char*)shm.Addr(); // 获取地址

//     char ch = 'A';
//     while(ch <= 'Z')
//     {
//         shmaddr[ch - 'A'] = ch;
//         std::string temp = "wakeup";
//         std::cout << "add " << ch << " into Shm, " << "wakeup reader" << std::endl;
//         fifo.WriteNamedPipe(temp);
//         sleep(2); // 两秒写一次数据
//         ch++;
//     }
//     return 0;
// }

int main()
{
    // 1. 创建共享内存
    Shm shm(gpathname, gproj_id, gCreater);
    char *shmaddr = (char*)shm.Addr();

    shm.DebugShm();

    sleep(5);
    
    return 0;
}